# coordinates are 36.17, -115.14

ny_full <- fread("data/NY_Solar_Irradiation/ny.csv")

head(ny_full)
##    Year Month Day Hour Minute Dew Point Surface Albedo Wind Speed
## 1: 2000     1   1    0      0         0          0.067        3.0
## 2: 2000     1   1    0     30         0          0.067        3.0
## 3: 2000     1   1    1      0         0          0.067        3.1
## 4: 2000     1   1    1     30         0          0.067        3.1
## 5: 2000     1   1    2      0         0          0.067        3.1
## 6: 2000     1   1    2     30         0          0.067        3.1
##    Relative Humidity Temperature Pressure GHI Cloud Type Solar Zenith Angle
## 1:               100           0     1020   0          0                162
## 2:               100           0     1020   0          0                161
## 3:               100           0     1020   0          1                158
## 4:               100           0     1020   0          0                154
## 5:               100           0     1020   0          0                149
## 6:               100           0     1020   0          1                144
##    Precipitable Water Wind Direction
## 1:              0.716            248
## 2:              0.717            248
## 3:              0.718            248
## 4:              0.719            248
## 5:              0.721            248
## 6:              0.719            248
str(ny_full)
## Classes 'data.table' and 'data.frame':   367920 obs. of  16 variables:
##  $ Year              : int  2000 2000 2000 2000 2000 2000 2000 2000 2000 2000 ...
##  $ Month             : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Day               : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ Hour              : int  0 0 1 1 2 2 3 3 4 4 ...
##  $ Minute            : int  0 30 0 30 0 30 0 30 0 30 ...
##  $ Dew Point         : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ Surface Albedo    : num  0.067 0.067 0.067 0.067 0.067 0.067 0.067 0.067 0.067 0.067 ...
##  $ Wind Speed        : num  3 3 3.1 3.1 3.1 3.1 3.2 3.1 3.1 3 ...
##  $ Relative Humidity : num  100 100 100 100 100 100 100 100 100 100 ...
##  $ Temperature       : num  0 0 0 0 0 0 0 0 0 0 ...
##  $ Pressure          : int  1020 1020 1020 1020 1020 1020 1020 1020 1020 1020 ...
##  $ GHI               : int  0 0 0 0 0 0 0 0 0 0 ...
##  $ Cloud Type        : int  0 0 1 0 0 1 1 1 1 4 ...
##  $ Solar Zenith Angle: num  162 161 158 154 149 ...
##  $ Precipitable Water: num  0.716 0.717 0.718 0.719 0.721 0.719 0.718 0.717 0.717 0.722 ...
##  $ Wind Direction    : num  248 248 248 248 248 ...
##  - attr(*, ".internal.selfref")=<externalptr>
ny_full$Date <- make_datetime(year=ny_full$Year, month=ny_full$Month, day=ny_full$Day, hour=ny_full$Hour, min=ny_full$Minute)
ny_full %>% ggplot(aes(x=Date, y=Temperature)) + geom_line(color="blue") 

plots <- NULL

# create a graph for each of the 20 years
temp <- ny_full %>% 
  # average by year-month
  group_by(Year, Month) %>% 
  summarise(Temperature = mean(Temperature, na.rm = TRUE), .groups = "drop") %>% 
  ggplot() +
  geom_line(aes(x = Month, y = Temperature, color = factor(Year))) +
  scale_x_continuous(breaks = 1:12, labels = month.abb, minor_breaks = NULL) +
  labs(title = "Average Temperature by Month", colour = "Year")

dew <- ny_full %>% 
  # average by year-month
  group_by(Year, Month) %>% 
  summarise(`Dew Point` = mean(`Dew Point`, na.rm = TRUE), .groups = "drop") %>% 
  ggplot() +
  geom_line(aes(x = Month, y = `Dew Point`, color = factor(Year))) +
  scale_x_continuous(breaks = 1:12, labels = month.abb, minor_breaks = NULL) +
  labs(title = "Average Dew Point by Month", colour = "Year")

humidity <- ny_full %>% 
  # average by year-month
  group_by(Year, Month) %>% 
  summarise(`Relative Humidity` = mean(`Relative Humidity`, na.rm = TRUE), .groups = "drop") %>% 
  ggplot() +
  geom_line(aes(x = Month, y = `Relative Humidity`, color = factor(Year))) +
  scale_x_continuous(breaks = 1:12, labels = month.abb, minor_breaks = NULL) +
  labs(title = "Average Relative Humidity by Month", colour = "Year")

albedo <- ny_full %>% 
  # average by year-month
  group_by(Year, Month) %>% 
  summarise(`Surface Albedo` = mean(`Surface Albedo`, na.rm = TRUE), .groups = "drop") %>% 
  ggplot() +
  geom_line(aes(x = Month, y = `Surface Albedo`, color = factor(Year))) +
  scale_x_continuous(breaks = 1:12, labels = month.abb, minor_breaks = NULL) +
  labs(title = "Average Surface Albedo by Month", colour = "Year")

wind <- ny_full %>% 
  # average by year-month
  group_by(Year, Month) %>% 
  summarise(`Wind Speed` = mean(`Wind Speed`, na.rm = TRUE), .groups = "drop") %>% 
  ggplot() +
  geom_line(aes(x = Month, y = `Wind Speed`, color = factor(Year))) +
  scale_x_continuous(breaks = 1:12, labels = month.abb, minor_breaks = NULL) +
  labs(title = "Average Wind Speed by Month", colour = "Year")

pressure <- ny_full %>% 
  # average by year-month
  group_by(Year, Month) %>% 
  summarise(`Pressure` = mean(`Pressure`, na.rm = TRUE), .groups = "drop") %>% 
  ggplot() +
  geom_line(aes(x = Month, y = `Pressure`, color = factor(Year))) +
  scale_x_continuous(breaks = 1:12, labels = month.abb, minor_breaks = NULL) +
  labs(title = "Average Pressure by Month", colour = "Year")

windD <- ny_full %>% 
  # average by year-month
  group_by(Year, Month) %>% 
  summarise(`Wind Direction` = mean(`Wind Direction`, na.rm = TRUE), .groups = "drop") %>% 
  ggplot() +
  geom_line(aes(x = Month, y = `Wind Direction`, color = factor(Year))) +
  scale_x_continuous(breaks = 1:12, labels = month.abb, minor_breaks = NULL) +
  labs(title = "Average Wind Direction by Month", colour = "Year")

precip <- ny_full %>% 
  # average by year-month
  group_by(Year, Month) %>% 
  summarise(`Precipitable Water` = mean(`Precipitable Water`, na.rm = TRUE), .groups = "drop") %>% 
  ggplot() +
  geom_line(aes(x = Month, y = `Precipitable Water`, color = factor(Year))) +
  scale_x_continuous(breaks = 1:12, labels = month.abb, minor_breaks = NULL) +
  labs(title = "Average Precipitable Water by Month", colour = "Year")

zenith <- ny_full %>% ggplot(aes(x=`Solar Zenith Angle`)) + geom_histogram(bins=360) + scale_x_continuous(breaks=seq(0,360,30)) + labs(title="Solar Zenith Angle Histogram")

ghi <- ny_full %>% 
  # average by year-month
  group_by(Year, Month) %>% 
  summarise(`GHI` = mean(`GHI`, na.rm = TRUE), .groups = "drop") %>% 
  ggplot() +
  geom_line(aes(x = Month, y = `GHI`, color = factor(Year))) +
  scale_x_continuous(breaks = 1:12, labels = month.abb, minor_breaks = NULL) +
  labs(title = "Average GHI by Month", colour = "Year")

cloud <- ny_full %>% ggplot(aes(x=`Cloud Type`)) + geom_histogram(bins=11) + scale_x_continuous(breaks=seq(0,10,1))+ labs(title="Cloud Type")

vsTemp <- ny_full %>% 
  group_by(Year, Month) %>% 
  summarise(`GHI` = mean(`GHI`, na.rm=TRUE), `Temperature` = mean(`Temperature`, na.rm=TRUE)) %>% 
  ggplot(aes(x=`Temperature`, y=GHI)) + geom_point()
## `summarise()` has grouped output by 'Year'. You can override using the
## `.groups` argument.
vsDew <- ny_full %>% 
  group_by(Year, Month) %>% 
  summarise(`GHI` = mean(`GHI`, na.rm=TRUE), `Dew Point` = mean(`Dew Point`, na.rm=TRUE)) %>% 
  ggplot(aes(x=`Dew Point`, y=GHI)) + geom_point()
## `summarise()` has grouped output by 'Year'. You can override using the
## `.groups` argument.
vsHumid <- ny_full %>% 
  group_by(Year, Month) %>% 
  summarise(`GHI` = mean(`GHI`, na.rm=TRUE), `Relative Humidity` = mean(`Relative Humidity`, na.rm=TRUE)) %>% 
  ggplot(aes(x=`Relative Humidity`, y=GHI)) + geom_point()
## `summarise()` has grouped output by 'Year'. You can override using the
## `.groups` argument.
vsAlbedo <- ny_full %>% 
  group_by(Year, Month) %>% 
  summarise(`GHI` = mean(`GHI`, na.rm=TRUE), `Surface Albedo` = mean(`Surface Albedo`, na.rm=TRUE)) %>% 
  ggplot(aes(x=`Surface Albedo`, y=GHI)) + geom_point()
## `summarise()` has grouped output by 'Year'. You can override using the
## `.groups` argument.
vsWindS <- ny_full %>% 
  group_by(Year, Month) %>% 
  summarise(`GHI` = mean(`GHI`, na.rm=TRUE), `Wind Speed` = mean(`Wind Speed`, na.rm=TRUE)) %>% 
  ggplot(aes(x=`Wind Speed`, y=GHI)) + geom_point()
## `summarise()` has grouped output by 'Year'. You can override using the
## `.groups` argument.
vsPressure <- ny_full %>% 
  group_by(Year, Month) %>% 
  summarise(`GHI` = mean(`GHI`, na.rm=TRUE), `Pressure` = mean(`Pressure`, na.rm=TRUE)) %>% 
  ggplot(aes(x=`Pressure`, y=GHI)) + geom_point()
## `summarise()` has grouped output by 'Year'. You can override using the
## `.groups` argument.
vsWindD <- ny_full %>% 
  group_by(Year, Month) %>% 
  summarise(`GHI` = mean(`GHI`, na.rm=TRUE), `Wind Direction` = mean(`Wind Direction`, na.rm=TRUE)) %>% 
  ggplot(aes(x=`Wind Direction`, y=GHI)) + geom_point()
## `summarise()` has grouped output by 'Year'. You can override using the
## `.groups` argument.
vsPrecip <- ny_full %>% 
  group_by(Year, Month) %>% 
  summarise(`GHI` = mean(`GHI`, na.rm=TRUE), `Precipitable Water` = mean(`Precipitable Water`, na.rm=TRUE)) %>% 
  ggplot(aes(x=`Precipitable Water`, y=GHI)) + geom_point()
## `summarise()` has grouped output by 'Year'. You can override using the
## `.groups` argument.
vsWindD <- ny_full %>% 
  group_by(Year, Month) %>% 
  summarise(`GHI` = mean(`GHI`, na.rm=TRUE), `Wind Direction` = mean(`Wind Direction`, na.rm=TRUE)) %>% 
  ggplot(aes(x=`Wind Direction`, y=GHI)) + geom_point()
## `summarise()` has grouped output by 'Year'. You can override using the
## `.groups` argument.
vsZenith <- ny_full %>%
  group_by(`Solar Zenith Angle`) %>%
  summarise(average_ghi = mean(GHI, na.rm=TRUE)) %>%
  ggplot(aes(x=`Solar Zenith Angle`, y=average_ghi)) + geom_point()

vsCloud <- ny_full %>%
  group_by(`Cloud Type`) %>%
  summarise(average_ghi = mean(GHI, na.rm=TRUE)) %>%
  ggplot(aes(x=`Cloud Type`, y=average_ghi)) + geom_point()

plots <- list(temp, dew, humidity, albedo, wind, pressure, windD, precip, zenith, ghi, cloud)
plots
## [[1]]

## 
## [[2]]

## 
## [[3]]

## 
## [[4]]

## 
## [[5]]

## 
## [[6]]

## 
## [[7]]

## 
## [[8]]

## 
## [[9]]

## 
## [[10]]

## 
## [[11]]

plotsVs <- list(vsTemp, vsDew, vsHumid, vsAlbedo, vsWindS, vsPressure, vsWindD, vsPrecip, vsZenith, vsCloud)
plotsVs
## [[1]]

## 
## [[2]]

## 
## [[3]]

## 
## [[4]]

## 
## [[5]]

## 
## [[6]]

## 
## [[7]]

## 
## [[8]]

## 
## [[9]]

## 
## [[10]]

summary(ny_full)
##       Year          Month            Day            Hour           Minute  
##  Min.   :2000   Min.   : 1.00   Min.   : 1.0   Min.   : 0.00   Min.   : 0  
##  1st Qu.:2005   1st Qu.: 4.00   1st Qu.: 8.0   1st Qu.: 5.75   1st Qu.: 0  
##  Median :2010   Median : 7.00   Median :16.0   Median :11.50   Median :15  
##  Mean   :2010   Mean   : 6.53   Mean   :15.7   Mean   :11.50   Mean   :15  
##  3rd Qu.:2015   3rd Qu.:10.00   3rd Qu.:23.0   3rd Qu.:17.25   3rd Qu.:30  
##  Max.   :2020   Max.   :12.00   Max.   :31.0   Max.   :23.00   Max.   :30  
##    Dew Point     Surface Albedo    Wind Speed    Relative Humidity
##  Min.   :-21.0   Min.   :0.063   Min.   : 0.00   Min.   : 27.1    
##  1st Qu.:  0.0   1st Qu.:0.075   1st Qu.: 2.50   1st Qu.: 71.3    
##  Median :  8.0   Median :0.084   Median : 3.70   Median : 85.8    
##  Mean   :  7.7   Mean   :0.147   Mean   : 3.94   Mean   : 82.4    
##  3rd Qu.: 16.0   3rd Qu.:0.093   3rd Qu.: 5.10   3rd Qu.: 97.4    
##  Max.   : 26.7   Max.   :0.870   Max.   :20.20   Max.   :100.0    
##   Temperature       Pressure         GHI         Cloud Type   
##  Min.   :-19.0   Min.   : 960   Min.   :   0   Min.   : 0.00  
##  1st Qu.:  3.0   1st Qu.:1010   1st Qu.:   0   1st Qu.: 0.00  
##  Median : 11.0   Median :1010   Median :   0   Median : 3.00  
##  Mean   : 11.4   Mean   :1011   Mean   : 169   Mean   : 3.24  
##  3rd Qu.: 20.0   3rd Qu.:1020   3rd Qu.: 281   3rd Qu.: 7.00  
##  Max.   : 37.0   Max.   :1041   Max.   :1018   Max.   :10.00  
##  Solar Zenith Angle Precipitable Water Wind Direction
##  Min.   : 17.3      Min.   :0.10       Min.   :  0   
##  1st Qu.: 61.9      1st Qu.:0.92       1st Qu.:134   
##  Median : 89.8      Median :1.82       Median :218   
##  Mean   : 89.7      Mean   :2.10       Mean   :206   
##  3rd Qu.:117.5      3rd Qu.:3.04       3rd Qu.:290   
##  Max.   :162.7      Max.   :7.08       Max.   :360   
##       Date                       
##  Min.   :2000-01-01 00:00:00.00  
##  1st Qu.:2005-04-02 05:52:30.00  
##  Median :2010-07-02 11:45:00.00  
##  Mean   :2010-07-02 14:04:12.55  
##  3rd Qu.:2015-10-01 17:37:30.00  
##  Max.   :2020-12-31 23:30:00.00